package com.molichuxing.services.business.dto.response;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.molichuxing.services.property.OrderPayWayEnum;
import com.molichuxing.services.property.OrderSourceEnum;
import com.molichuxing.services.property.OrderTypeEnum;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 用户订单dto
 * @author zoumingyu
 * @date 2019年9月19日
 *
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class OrderMemberBizDto extends OrderBizDto {
	private static final long serialVersionUID = 8302226974594227839L;

	/**
	 * id
	 */
	private Integer id;
	
	/**
	 * 订单类型
	 */
	private OrderTypeEnum type;

	/**
	 * 订单号 order_code
	 */
	private Long orderCode;

	/**
	 * 用户id user_id
	 */
	private Integer userId;

	/**
	 * 车辆id car_id
	 */
	private Integer carId;

	/**
	 * 租金(总租金) cart_fee
	 */
	private BigDecimal cartFee;

	/**
	 * 保证金 deposit
	 */
	private BigDecimal deposit;

	/**
	 * 下单时间 order_time
	 */
	private LocalDateTime orderTime;
	
	/**
	 * 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，21：微信-公众号，22：微信-H5，
	 * 23：微信-APP，34：微信-扫码，25：微信-小程序，31：支付宝-APP，32：支付宝-H5，41:
	 * 线下支付，51：银联-APP，51：银联-H5) pay_way
	 */
	private OrderPayWayEnum payWay;

	/**
	 * 支付时间(首付时间) pay_time
	 */
	private LocalDateTime payTime;

	/**
	 * 提车截止日期(过期锁定时间) delivery_deadline
	 */
	private LocalDateTime deliveryDeadline;

	/**
	 * 下单门店id place_store_id
	 */
	private Integer placeStoreId;

	/**
	 * 下单设备编号（智能终端下单为终端cpu） place_device_num
	 */
	private String placeDeviceNum;

	/**
	 * 下销售顾问id place_salesman_id
	 */
	private Integer placeSalesmanId;

	/**
	 * 订单来源（1：智能终端（AIO），2：手机APP（Android），3：手机APP（IOS），4：微信小程序（APPLET），5：微信公众号（JSAPI），6：H5页面（MWEB））
	 * source
	 */
	private OrderSourceEnum source;

	/**
	 * 起租日 lease_inception
	 */
	private LocalDate leaseInception;

	/**
	 * 截止日（起租日加租期） lease_expire
	 */
	private LocalDate leaseExpire;

	/**
	 * 商品id goods_id
	 */
	private Integer goodsId;

	/**
	 * 商品编码 goods_code
	 */
	private String goodsCode;

	/**
	 * 车型id vehicle_id
	 */
	private Integer vehicleId;
}
